using System;
using System.Collections.Generic;
using Me.Prettyprint.Cassandra.Utils;
using Me.Prettyprint.Hector.Api;

namespace Me.Prettyprint.Hector.Api.Beans
{
	/// <summary>
	/// 
	/// </summary>
	public class DynamicComposite : AbstractComposite
	{
		public const System.String DEFAULT_DYNAMIC_COMPOSITE_ALIASES = "(a=>AsciiType,b=>BytesType,i=>IntegerType,x=>LexicalUUIDType,l=>LongType,t=>TimeUUIDType,s=>UTF8Type,u=>UUIDType,A=>AsciiType(reversed=true),B=>BytesType(reversed=true),I=>IntegerType(reversed=true),X=>LexicalUUIDType(reversed=true),L=>LongType(reversed=true),T=>TimeUUIDType(reversed=true),S=>UTF8Type(reversed=true),U=>UUIDType(reversed=true))";
		
		public DynamicComposite(): base(true)
		{
		}
        public DynamicComposite(params object[] varargs)
            : base(true,varargs)
        {
        }
        public static DynamicComposite FromByteBuffer(ByteBuffer byteBuffer)
        {
            DynamicComposite composite = new DynamicComposite();
            composite.Deserialize(byteBuffer);
            return composite;
        }
	}
}